<?xml version="1.0" encoding="utf-8"?> 
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
  <xs:element name="MultiScriptApplication" nillable="true" type="MultiScriptApplication" /> 
  <xs:complexType name="MultiScriptApplication"> 
    <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="1" name="DatabaseLists" type="ArrayOfDatabaseList" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="AddedServers" type="ArrayOfServer" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="Options" type="ApplicationOptions" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="CurrentProject" type="xs:string" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:complexType name="ArrayOfDatabaseList"> 
    <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DatabaseList" nillable="true" type="DatabaseList" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:complexType name="DatabaseList"> 
    <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="Databases" type="ArrayOfDatabase" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="ValidAndSelectedDatabases" type="ArrayOfDatabase" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:complexType name="ArrayOfDatabase"> 
    <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Database" nillable="true" type="Database" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:complexType name="Database"> 
    <xs:sequence> 
      <xs:element minOccurs="1" maxOccurs="1" name="Selected" type="xs:boolean" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="Protocol" type="NetworkProtocol" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="Timeout" type="xs:int" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="PacketSize" type="xs:int" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="EncryptConnection" type="xs:boolean" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="ServerObject" type="Server" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:simpleType name="NetworkProtocol"> 
    <xs:restriction base="xs:string"> 
      <xs:enumeration value="Default" /> 
      <xs:enumeration value="SharedMemory" /> 
      <xs:enumeration value="NamedPipes" /> 
      <xs:enumeration value="TCPIP" /> 
      <xs:enumeration value="IPX" /> 
      <xs:enumeration value="MultiProtocol" /> 
      <xs:enumeration value="AppleTalk" /> 
      <xs:enumeration value="VIA" /> 
    </xs:restriction> 
  </xs:simpleType> 
  <xs:complexType name="Server"> 
    <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="1" name="ServerName" type="xs:string" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="IntegratedSecurity" type="xs:boolean" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="UserName" type="xs:string" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="Password" type="xs:string" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="RememberPassword" type="xs:boolean" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="Protocol" type="NetworkProtocol" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="Timeout" type="xs:int" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="PacketSize" type="xs:int" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="EncryptConnection" type="xs:boolean" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:complexType name="ArrayOfServer"> 
    <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Server" nillable="true" type="Server" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:complexType name="ApplicationOptions"> 
    <xs:sequence> 
      <xs:element minOccurs="1" maxOccurs="1" name="ExecutionTimeout" type="xs:int" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="BatchSeparator" type="xs:string" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="DisplayFormat" type="DisplayFormat" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="MaximumNonXMLDataRetrieved" type="xs:int" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="MaximumXMLDataRetrieved" type="xs:int" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="MaximumCharactersPerColumn" type="xs:int" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="UseParallelExecution" type="xs:boolean" /> 
      <xs:element minOccurs="1" maxOccurs="1" name="MaximumParallelServers" type="xs:int" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="ScriptEncoding" type="Encoding" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:simpleType name="DisplayFormat"> 
    <xs:restriction base="xs:string"> 
      <xs:enumeration value="Grid" /> 
      <xs:enumeration value="Text" /> 
    </xs:restriction> 
  </xs:simpleType> 
  <xs:complexType name="Encoding" abstract="true"> 
    <xs:sequence> 
      <xs:element minOccurs="0" maxOccurs="1" name="EncoderFallback" type="EncoderFallback" /> 
      <xs:element minOccurs="0" maxOccurs="1" name="DecoderFallback" type="DecoderFallback" /> 
    </xs:sequence> 
  </xs:complexType> 
  <xs:complexType name="EncoderFallback" abstract="true" /> 
  <xs:complexType name="DecoderFallback" abstract="true" /> 
</xs:schema>